repo: Fix file descriptor leak from previous commit
authorColin Walters <walters@verbum.org>
Sun, 8 Sep 2013 14:41:18 +0000 (10:41 -0400)
committerColin Walters <walters@verbum.org>
Sun, 8 Sep 2013 14:41:18 +0000 (10:41 -0400)
I keep forgetting mmap doesn't take ownership of the fd.

src/libostree/ostree-repo.c

index bb527984658c7f64ee561ffac527370b447e9291..1a7dbce101abfae0c8783a9392aa01b606b80c84 100644 (file)
@@ -827,7 +827,8 @@ load_metadata_internal (OstreeRepo       *self,
           mfile = g_mapped_file_new_from_fd (fd, FALSE, error);
           if (!mfile)
             goto out;
-          fd = -1; /* Transfer ownership */
+          (void) close (fd); /* Ignore errors, we have it mapped */
+          fd = -1;
           ret_variant = g_variant_new_from_data (ostree_metadata_variant_type (objtype),
                                                  g_mapped_file_get_contents (mfile),
                                                  g_mapped_file_get_length (mfile),